import { IntersectionType } from '@nestjs/swagger';
import { CreateUserDto } from './create.dto';
import { ExtraModelDto } from 'src/dtos/extra-model.dto';

export class ProfileExtraDto {
  /**
   * 是否是超级管理员
   * @example true
   */
  root: boolean;
}

export class ProfileExtraRoleDto {
  /**
   * 角色列表
   * @example ['admin']
   */
  roles: string[];
}

export class ProfileExtraPermissionDto {
  /**
   * 权限列表
   * @example ['user.create', 'user.findAll']
   */
  permissions: string[];
}

export class ProfileDto extends IntersectionType(
  CreateUserDto,
  ProfileExtraDto,
  ProfileExtraRoleDto,
  ProfileExtraPermissionDto,
  ExtraModelDto,
) {}
